home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2008 January / Cybermycha 1_2008.iso / Data.cab / _C84C845904684E6ABE90FB9BEB7F8F68 < prev    next >
Encoding:
Text File  |  2004-04-29  |  1.1 KB  |  65 lines

  1.  
  2. regc(0, "COMBINED_XFORM")
  3. regc(4, "MODEL_XFORM")
  4.  
  5. regc(12, "FOG_PARAMS")
  6. regc(13, "CAMERA_POS_MS")
  7.  
  8. regc(14, "TEXTURE1_XFORM")
  9. regc(18, "TEXTURE2_XFORM")
  10.  
  11.  
  12. vshader("
  13.  
  14. #define point        v0
  15. #define normal        v1
  16. #define tangent        v2
  17. #define tcoord        v3
  18.  
  19. #define fogp    c12
  20. #define camp    c13
  21.  
  22.     vs_1_1
  23.  
  24. #include    <cardef.h>
  25. #include    <fog.inc>
  26.  
  27.     dcl_position    point
  28.     dcl_normal        normal
  29.     dcl_tangent        tangent
  30.     dcl_texcoord    tcoord
  31.  
  32.     def    c24, 1, 0, 0, GLASSFRESNELSCALE
  33.  
  34.  
  35.     ; output position
  36.     m4x4    oPos, point, c0
  37.  
  38.     sub    r0, camp, point
  39.       ; fresnel
  40.     dp3 r6.w, r0, r0
  41.     rsq r6.w, r6.w
  42.     mul r6.xyz, r0, r6.w
  43.  
  44.     dp3    r6.w, r6, normal
  45.     mad r6.w, r6.w, -r6.w, c24.x  // -dot(E, N)*dot(E, N)+1 = 1- pow(dot(E, N),2)
  46.     mul    r6.w, r6.w, r6.w        //f^2
  47.     ; output fresnel
  48.     mul oD0, r6.w, c24.w
  49.  
  50.     dp3    r1.w, r0, normal
  51.     add    r1.w, r1.w, r1.w
  52.     mad    r0, r1.w, normal, -r0
  53.  
  54.         m3x3    oT1, -normal, c14
  55.         m3x3    oT2, -r0, c18
  56.  
  57.     ; output texcoords
  58.     mov    oT0, tcoord           // color
  59.     mov    oT3, tcoord           // broken
  60.     ; calc fog
  61.        dp4    r0.x, point, c2
  62.        FOG(r0.x, fogp, r10)
  63. ")
  64.  
  65.